<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Weapons" targetNamespace="http://www.codeplex.com/Trench/Weapons.xsd" xmlns:mstns="http://www.codeplex.com/Trench/Weapons.xsd" xmlns="http://www.codeplex.com/Trench/Weapons.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
  <xs:annotation>
    <xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
      <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
        <Connections>
        </Connections>
        <Tables>
        </Tables>
        <Sources>
        </Sources>
      </DataSource>
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="Magazine" msprop:Generator_UserTableName="Magazine" msprop:Generator_RowDeletedName="MagazineRowDeleted" msprop:Generator_RowChangedName="MagazineRowChanged" msprop:Generator_RowClassName="MagazineRow" msprop:Generator_RowChangingName="MagazineRowChanging" msprop:Generator_RowEvArgName="MagazineRowChangeEvent" msprop:Generator_RowEvHandlerName="MagazineRowChangeEventHandler" msprop:Generator_TableClassName="MagazineDataTable" msprop:Generator_TableVarName="tableMagazine" msprop:Generator_RowDeletingName="MagazineRowDeleting" msprop:Generator_TablePropName="Magazine">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" type="xs:string" />
        <xs:element name="Capacity" msprop:Generator_UserColumnName="Capacity" msprop:Generator_ColumnVarNameInTable="columnCapacity" msprop:Generator_ColumnPropNameInRow="Capacity" msprop:Generator_ColumnPropNameInTable="CapacityColumn" type="xs:string" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Weapons" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="Weapons" msprop:Generator_DataSetName="Weapons">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Weapon" msprop:Generator_UserTableName="Weapon" msprop:Generator_RowDeletedName="WeaponRowDeleted" msprop:Generator_RowChangedName="WeaponRowChanged" msprop:Generator_RowClassName="WeaponRow" msprop:Generator_RowChangingName="WeaponRowChanging" msprop:Generator_RowEvArgName="WeaponRowChangeEvent" msprop:Generator_RowEvHandlerName="WeaponRowChangeEventHandler" msprop:Generator_TableClassName="WeaponDataTable" msprop:Generator_TableVarName="tableWeapon" msprop:Generator_RowDeletingName="WeaponRowDeleting" msprop:Generator_TablePropName="Weapon">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" type="xs:string" />
              <xs:element name="Range" msprop:Generator_UserColumnName="Range" msprop:Generator_ColumnVarNameInTable="columnRange" msprop:Generator_ColumnPropNameInRow="Range" msprop:Generator_ColumnPropNameInTable="RangeColumn" type="xs:float" minOccurs="0" />
              <xs:element name="Rate_x0020_of_x0020_Fire" msprop:Generator_UserColumnName="Rate of Fire" msprop:Generator_ColumnVarNameInTable="columnRate_of_Fire" msprop:Generator_ColumnPropNameInRow="Rate_of_Fire" msprop:Generator_ColumnPropNameInTable="Rate_of_FireColumn" type="xs:float" minOccurs="0" />
              <xs:element name="Calibre" msprop:Generator_UserColumnName="Calibre" msprop:Generator_ColumnVarNameInTable="columnCalibre" msprop:Generator_ColumnPropNameInRow="Calibre" msprop:Generator_ColumnPropNameInTable="CalibreColumn" type="xs:float" minOccurs="0" />
              <xs:element name="Default_x0020_Magazine" msprop:Generator_UserColumnName="Default Magazine" msprop:Generator_ColumnVarNameInTable="columnDefault_Magazine" msprop:Generator_ColumnPropNameInRow="Default_Magazine" msprop:Generator_ColumnPropNameInTable="Default_MagazineColumn" type="xs:string" default="Single shot" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element ref="Magazine" />
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1">
      <xs:selector xpath=".//mstns:Weapon" />
      <xs:field xpath="mstns:Name" />
    </xs:unique>
    <xs:unique name="Constraint2">
      <xs:selector xpath=".//mstns:Weapon" />
      <xs:field xpath="mstns:Default_x0020_Magazine" />
    </xs:unique>
    <xs:unique name="Magazine_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//mstns:Magazine" />
      <xs:field xpath="mstns:Name" />
    </xs:unique>
    <xs:keyref name="Weapon_Magazine" refer="Constraint2" msdata:ConstraintOnly="true" msdata:AcceptRejectRule="Cascade" msdata:DeleteRule="SetDefault">
      <xs:selector xpath=".//mstns:Magazine" />
      <xs:field xpath="mstns:Name" />
    </xs:keyref>
  </xs:element>
</xs:schema>